#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
@File Name: 再次探讨urlib包_http-getfile-urllib1.py
@Author: LTisme
@Date: 2021/8/28 19:37
@Description: 借助urllib，从HTTP（网络）服务器经由套接字抓取文件；
              urllib通过URL地址字符串支持HTTP、FTP、文件及HTTPS；
              对于HTTP，这个URL可以指定文件或触发远程CGI脚本；
              通过网络抓取文件在Python中可以用多种不同方式实现，其代码与对接服务器的要求各不相同：通过套接字、FTP、HTTP、urllib和CGI输出；
              缺陷：应当通过urllib.parse.quote运行文件名以便正确地进行转义，除非文件名被硬编码指定；
"""
import sys
from urllib.request import urlopen

showlines = 6

try:
    servername, filename = sys.argv[1:]
except:
    servername, filename = 'learning-python.com', '/index.html'

remoteaddr = 'http://%s%s' % (servername, filename)                 # 也可以指定一个CGI脚本
print(remoteaddr)
remotefile = urlopen(remoteaddr)                                    # 返回输入文件对象
remotedata = remotefile.readlines()                                 # 直接读取数据
remotefile.close()

for line in remotedata[:showlines]:                                 # 嵌有\n的字节
    print(line)
